package com.nts.pmchelperdemo3.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;


@Data
@TableName("t_order") // 数据库表名
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 所需刀具名称（关联t_tool表的toolName）
     */
    private String toolName;

    /**
     * 订单当前状态（0-接单中，1-磨刀中，2-磨刀完成，3-涂层中，4-已交付,5-已合并）
     */
    private Integer status;

    /**
     * 客户优先级（数字越大优先级越高，如1-5级）
     */
    private Integer priority;

    /**
     * 订单开始时间（用户指定）
     */
    private LocalDateTime startTime;

    /**
     * 订单结束时间（交付截止日期）
     */
    private LocalDateTime endTime;

    /**
     * 所需刀具数量
     */
    private Integer toolQuantity;

    /**
     * 定制刀专用：用户输入的磨刀时间（普通刀为空，取自t_tool表）
     */
    private Double customSharpenTime;

    /**
     * 定制刀专用：用户输入的涂层时间（普通刀为空，取自t_tool表）
     */
    private Double customCoatTime;

    /**
     * 状态字段说明：
     * - 0：接单中（初始状态，未进入排班）
     * - 1：磨刀中（已排入磨刀排班表）
     * - 2：磨刀完成（等待用户触发涂层排班）
     * - 3：涂层中（已排入涂层排班表）
     * - 4：已交付（最终状态）
     */
}
